/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modele.dao;

import modele.baseDeDonnees.BaseDeDonnees;
import beans.User;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 *
 * @author Rami
 */
public class UserDAO {

    /**
     * Recherche un utilisateur dans la base de donnée et identifie son statut
     *
     * @param id id de l'utilisateur a rechercher
     * @return renvoi l'utilisateur User voulu ( si return null alors l'utilisateur n'existe pas )
     * @throws Exception L'execution de la requete sql peut engendrer des Exceptions SQL
     */
    public static User rechercherUser(int id) throws Exception {
        User u = null;
              Connection c = BaseDeDonnees.seConnecterBD();
            Statement requete = c.createStatement();
            ResultSet reponse;
            //REQUETE SQL DE TYPE Renvoi le  projet numero idProjet
            reponse = requete.executeQuery("select etudiant.nom , etudiant.prenom , etudiant.email from etudiant where etudiant.id_etudiant = " + id + " ;");
            if (reponse.next()) {
                u = new User();
                u.setNom(reponse.getString("nom"));
                u.setPrenom(reponse.getString("prenom"));
                u.setMail(reponse.getString("email"));
                u.setId(id);
                u.setIsAdmin(false);
            } else {
                  Connection c2 = BaseDeDonnees.seConnecterBD();
                Statement requete2 = c2.createStatement();
                ResultSet reponse2;
                //REQUETE SQL DE TYPE Renvoi le  projet numero idProjet
                reponse2 = requete2.executeQuery("select formateur.nom , formateur.prenom , formateur.email from formateur where formateur.id_formateur = " + id + " ;");
                while (reponse2.next()) {
                    u = new User();
                    u.setNom(reponse2.getString("nom"));
                    u.setPrenom(reponse2.getString("prenom"));
                    u.setMail(reponse2.getString("email"));
                    u.setId(id);
                    u.setIsAdmin(true);
                }
                reponse2.close();
                requete2.close();
                c2.close();
            }
            reponse.close();
            requete.close();
            c.close();

            return u;
        
    }
}
